package com.atguigu.srb.core.service;

import com.atguigu.srb.core.pojo.entity.UserInfo;
import com.atguigu.srb.core.pojo.entity.vo.LoginVO;
import com.atguigu.srb.core.pojo.entity.vo.RegisterVO;
import com.atguigu.srb.core.pojo.entity.vo.UserIndexVO;
import com.atguigu.srb.core.pojo.entity.vo.UserInfoSearchVo;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import javax.servlet.http.HttpServletRequest;

/**
 * <p>
 * 用户基本信息 服务类
 * </p>
 *
 * @author Atguigu
 * @since 2023-03-25
 */
public interface UserInfoService extends IService<UserInfo> {

    void saveUser(RegisterVO registerVo, Integer type);

    String login(LoginVO loginVo, HttpServletRequest request);

    Page<UserInfo> getUserList(Integer pageNum, Integer pageSize, UserInfoSearchVo userInfoSearchVo);

    void updateStatus(String userId, Integer status);
    void addLog(UserInfo userInfo, HttpServletRequest request);

    Boolean isBindMobile(String token);

    Boolean isUsed(String mobile);

    void bindMobile(String token, RegisterVO registerVO);

    UserIndexVO getUserIndexVo(String token);

    String hfbNotify(HttpServletRequest request);
}